From 0885bf62a994415deb7fea27a724471b2d194e69 Mon Sep 17 00:00:00 2001 From: oliskoli Date: Wed, 16 Aug 2006 00:19:50 +0000 Subject: [PATCH] Force usage of common gbfile api. git-svn-id: http://gpsbabel.googlecode.com/svn/trunk@2305 f51c46e8-681c-474f-0cfe-069cfd0219fb --- gpsbabel/igc.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/gpsbabel/igc.c b/gpsbabel/igc.c index 693027042..f51397550 100644 --- a/gpsbabel/igc.c +++ b/gpsbabel/igc.c @@ -26,11 +26,10 @@ #include "defs.h" #include -static FILE *file_out; +static gbfile *file_in, *file_out; static char manufacturer[4]; static const route_head *head; static char *timeadj = NULL; -static textfile_t* tin; #define MYNAME "IGC" #define MAXRECLEN 79 // Includes null terminator and CR/LF @@ -93,7 +92,7 @@ static igc_rec_type_t get_record(char **rec) size_t len; char *c; - *rec = c = textfile_read(tin); + *rec = c = gbfgetstr(file_in); if (c == NULL) return rec_none; len = strlen(c); @@ -108,7 +107,7 @@ static void rd_init(const char *fname) { char *ibuf; - tin = textfile_open_read(fname, MYNAME); + file_in = gbfopen(fname, "r", MYNAME); // File must begin with a manufacturer/ID record if (get_record(&ibuf) != rec_manuf_id || sscanf(ibuf, "A%3[A-Z]", manufacturer) != 1) { @@ -118,7 +117,7 @@ static void rd_init(const char *fname) static void rd_deinit(void) { - textfile_done(tin); + gbfclose(file_in); } /** @@ -567,13 +566,13 @@ static void wr_header(void) if (NULL == (tm = gmtime(&date))) { fatal(MYNAME ": Bad track timestamp\n"); } - xfprintf(MYNAME, file_out, "HFDTE%s\r\n", date2str(tm)); + gbfprintf(file_out, "HFDTE%s\r\n", date2str(tm)); // Other header data may have been stored in track description if (track && track->rte_desc && strncmp(track->rte_desc, HDRMAGIC, strlen(HDRMAGIC)) == 0) { for (str = strtok(track->rte_desc + strlen(HDRMAGIC) + strlen(HDRDELIM), HDRDELIM); str; str = strtok(NULL, HDRDELIM)) { - xfprintf(MYNAME, file_out, "%s\r\n", str); + gbfprintf(file_out, "%s\r\n", str); } } else { // IGC header info not found so synthesise it. @@ -583,7 +582,7 @@ static void wr_header(void) if (NULL != (wpt = find_waypt_by_name("PILOT")) && wpt->description) { str = wpt->description; } - xfprintf(MYNAME, file_out, "HFPLTPILOT:%s\r\n", str); + gbfprintf(file_out, "HFPLTPILOT:%s\r\n", str); } } @@ -593,7 +592,7 @@ static void wr_header(void) static void wr_task_wpt_name(const waypoint * wpt, const char *alt_name) { - xfprintf(MYNAME, file_out, "C%s%s\r\n", latlon2str(wpt), + gbfprintf(file_out, "C%s%s\r\n", latlon2str(wpt), wpt->description ? wpt->description : wpt->shortname ? wpt->shortname : alt_name); } @@ -635,7 +634,7 @@ static void wr_task_hdr(const route_head * rte) sscanf(rte->rte_desc, DATEMAGIC "%6[0-9]: %s", flight_date, task_desc); } - xfprintf(MYNAME, file_out, "C%s%s%s%04u%02u%s\r\n", date2str(tm), + gbfprintf(file_out, "C%s%s%s%04u%02u%s\r\n", date2str(tm), tod2str(tm), flight_date, task_num++, num_tps, task_desc); if (!have_takeoff) { @@ -680,7 +679,7 @@ static void wr_fix_record(const waypoint * wpt, int pres_alt, int gnss_alt) if (unknown_alt == gnss_alt) { gnss_alt = 0; } - xfprintf(MYNAME, file_out, "B%02u%02u%02u%sA%05d%05d\r\n", tm->tm_hour, + gbfprintf(file_out, "B%02u%02u%02u%sA%05d%05d\r\n", tm->tm_hour, tm->tm_min, tm->tm_sec, latlon2str(wpt), pres_alt, gnss_alt); } @@ -861,22 +860,22 @@ static void wr_track(void) static void wr_init(const char *fname) { - file_out = xfopen(fname, "wb", MYNAME); + file_out = gbfopen(fname, "wb", MYNAME); } static void wr_deinit(void) { - fclose(file_out); + gbfclose(file_out); } static void data_write(void) { - xfputs(MYNAME, "AXXXZZZGPSBabel\r\n", file_out); + gbfputs("AXXXZZZGPSBabel\r\n", file_out); wr_header(); wr_tasks(); wr_track(); - xfprintf(MYNAME, file_out, "LXXXGenerated by GPSBabel Version %s\r\n", gpsbabel_version); - xfputs(MYNAME, "GGPSBabelSecurityRecordGuaranteedToFailVALIChecks\r\n", file_out); + gbfprintf(file_out, "LXXXGenerated by GPSBabel Version %s\r\n", gpsbabel_version); + gbfputs("GGPSBabelSecurityRecordGuaranteedToFailVALIChecks\r\n", file_out); } -- 2.30.2